Chroom 137

Stabiele releasedatum: 27 mei 2025

Tenzij anders vermeld, zijn de volgende wijzigingen van toepassing op de stabiele kanaalrelease van Chrome 137 voor Android, ChromeOS, Linux, macOS en Windows.

CSS en UI

CSS if() -functie

De CSS if() functie biedt een beknopte manier om voorwaardelijke waarden uit te drukken. Deze accepteert een reeks voorwaarde-waardeparen, gescheiden door puntkomma's. De functie evalueert elke voorwaarde sequentieel en retourneert de waarde die is gekoppeld aan de eerste ware voorwaarde. Als geen van de voorwaarden als waar wordt geëvalueerd, retourneert de functie een lege tokenstream. Hiermee kunt u complexe voorwaardelijke logica op een eenvoudige en beknopte manier uitdrukken.

Voorbeeld:

div {
  color: var(--color);
  background-color: if(style(--color: white): black; else: white);
}

.dark {
  --color: black;
}

.light {
  --color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>

Tracking bug #346977961 | ChromeStatus.com-item | Spec

CSS reading-flow , reading-order eigenschappen

Met de CSS-eigenschap reading-flow bepaalt u de volgorde waarin elementen in een flex-, raster- of bloklay-out worden weergegeven aan toegankelijkheidstools en de focus krijgen via focusnavigatie met het Tab-toetsenbord.

Met de CSS-eigenschap ' reading-order kunnen auteurs de volgorde binnen een leesstroomcontainer handmatig wijzigen. Het is een geheel getal met een standaardwaarde van 0 .

Meer informatie over deze eigenschappen vindt u in Gebruik CSS-leesstroom voor logische sequentiële focusnavigatie en probeer enkele voorbeelden uit .

Tracking bug #40932006 | ChromeStatus.com-item | Spec

Negeer letterafstand in cursief schrift

Met deze functie wordt logica toegevoegd om de door de ontwikkelaar opgegeven letterspatiëringsinstelling voor cursieve schriften te negeren, in overeenstemming met de specificatie. Zo wordt gegarandeerd dat de letterspatiëring de woordstructuur niet verstoort. Daarnaast moet er een betere gebruikerservaring worden gecreëerd voor gebruikers die cursieve schriften gebruiken.

Met deze functie zorgt Chrome ervoor dat cursieve letters leesbaar zijn en de juiste spaties hebben, zelfs als de lettertypen geen geavanceerde typografische functies hebben.

De schriften waarop dit in Chromium van toepassing is, zijn Arabisch, Hanifi Rohingya, Mandaisch, Mongools, N'Ko, Phags Pa en Syrisch. Deze schriften worden volgens de specificatie als cursief beschouwd.

Tracking bug #40618336 | ChromeStatus.com-item | Spec

Selectie API getComposedRanges en direction

Deze functie levert twee nieuwe API-methoden op voor de Selection API:

  • Selection.direction die de richting van de selectie retourneert als none , forward of backward
  • Selection.getComposedRanges() die een lijst met 0 of 1 samengestelde StaticRange retourneert

Een samengestelde StaticRange mag schaduwgrenzen overschrijden, wat een normale Range niet mag.

Bijvoorbeeld:

const range = getSelection().getComposedRanges({ shadowRoots: [root] });

Als de selectie een schaduwwortelgrens overschrijdt die niet in de shadowRoots -lijst staat, worden de eindpunten van de StaticRange aangepast zodat ze buiten die boom vallen. Dit zorgt ervoor dat Chrome geen onbekende schaduwbomen blootlegt.

Tracking bug #40286116 | ChromeStatus.com-item | Spec

Ondersteuning offset-path: shape()

Ondersteuning voor offset-path: shape() , zodat u responsieve vormen kunt gebruiken om het animatiepad in te stellen.

Tracking bug #389713717 | ChromeStatus.com-item | Spec

Ondersteun het transform kenmerk op SVGSVGElement

Deze functie maakt het mogelijk om transformatie-eigenschappen, zoals schalen, roteren, transleren en scheeftrekken, rechtstreeks toe te passen op het <svg> -rootelement met behulp van het transform attribuut. Met deze verbetering kunt u het volledige SVG-coördinatensysteem of de inhoud ervan als geheel bewerken, wat zorgt voor meer flexibiliteit bij het maken van dynamische, responsieve en interactieve vectorafbeeldingen. Door dit attribuut te ondersteunen, kan het <svg> -element worden getransformeerd zonder dat er extra wrapper-elementen of complexe CSS-workarounds nodig zijn, wat het proces voor het maken van schaalbare en geanimeerde webafbeeldingen stroomlijnt.

Tracking bug #40313130 ​​| ChromeStatus.com-item | Spec

Systeemaccentkleur voor accent-color

Hiermee kunt u de accentkleur van het besturingssysteem gebruiken voor formulierelementen. Met de CSS-eigenschap accent-color kunt u ervoor zorgen dat formulierelementen zoals selectievakjes, keuzerondjes en voortgangsbalken automatisch de accentkleur overnemen die is gedefinieerd door het besturingssysteem van de gebruiker. Dit wordt al sinds 2021 ondersteund op macOS en nu ook op Windows en ChromeOS.

Tracking bug #40764875 | ChromeStatus.com-item | Spec

Sta <use> toe om naar het rootelement van een extern document te verwijzen door het fragment weg te laten.

Deze functie stroomlijnt het SVG <use> -element door de referentievereisten te versoepelen. Vóór Chrome 137 moest je expliciet naar fragmenten verwijzen binnen het SVG-document. Als er geen fragment-ID is opgegeven, kan <use> het doel niet oplossen en wordt er niets weergegeven of verwezen.

Bijvoorbeeld: een <use> -element dat verwijst naar een extern bestand met een fragment-ID:

<svg>
  <use xlink:href="myshape.svg#icon"></use>
</svg>

In dit voorbeeld is #icon de fragment-ID die verwijst naar een element met id="icon" in myshape.svg .

Zonder fragment-ID:

<svg>
  <use xlink:href="myshape.svg"></use>
</svg>

Met deze functie wordt automatisch naar het root-element verwezen door fragmenten weg te laten of alleen de externe SVG-bestandsnaam op te geven. U hoeft het gerefereerde document dus niet meer aan te passen om alleen een ID aan de root toe te wijzen. Deze verbetering vereenvoudigt dit handmatige bewerkingsproces en verbetert de efficiëntie.

Tracking bug #40362369 | ChromeStatus.com-item | Spec

Canvas drijvende komma kleurtypen

Introduceert de mogelijkheid om drijvende-kommapixelformaten te gebruiken (in tegenstelling tot 8-bits vaste-kommapixels) met CanvasRenderingContext2D , OffscreenCanvasRenderingContext2D en ImageData .

Dit is noodzakelijk voor toepassingen met een hoge precisie (bijvoorbeeld medische visualisatie), content met een hoog dynamisch bereik en lineaire werkende kleurruimten.

Tracking bug #40245602 | ChromeStatus.com-item | Spec

view-transition-name: match-element

De match-element -waarde genereert een unieke ID op basis van de identiteit van het element en hernoemt deze voor dit element. Dit wordt gebruikt in Single Page Apps waarbij het element wordt verplaatst en u het wilt animeren met een weergaveovergang.

Tracking bug #365997248 | ChromeStatus.com-item | Spec

Betalingen

Uitlijningsfouttype gegenereerd bij het payment van WebAuthn-referenties: SecurityError wordt NotAllowedError

Corrigeer het fouttype dat werd gegenereerd tijdens het aanmaken van WebAuthn-referenties voor payment . Vanwege een historische specificatiemismatch zou het aanmaken van payment in een cross-origin iframe zonder gebruikersactivering een SecurityError genereren in plaats van een NotAllowedError , wat wel gebeurt bij niet-betalingsreferenties.

Dit is een ingrijpende wijziging, zij het een niche-wijziging. Code die eerder het type fout detecteerde (bijvoorbeeld e instanceof SecurityError ) wordt beïnvloed. Code die in het algemeen fouten afhandelt tijdens het aanmaken van referenties (bijvoorbeeld catch (e) ) blijft correct functioneren.

Tracking bug #41484826 | ChromeStatus.com-item | Spec

Web-API's

Blob URL-partitionering: ophalen/navigatie

Als voortzetting van Storage Partitioning heeft Chrome partitionering van Blob URL-toegang geïmplementeerd op basis van Storage Key (site op het hoogste niveau, frame origin en de has-cross-site-ancestor boolean), met uitzondering van navigatie op het hoogste niveau, die alleen gepartitioneerd blijft op frame origin. Dit gedrag is vergelijkbaar met wat momenteel wordt geïmplementeerd door zowel Firefox als Safari en stemt het gebruik van Blob URL's af op het partitioneringsschema dat door andere opslag-API's wordt gebruikt als onderdeel van Storage Partitioning. Bovendien dwingt Chrome nu noopener af op door de renderer geïnitieerde navigatie op het hoogste niveau naar Blob URL's waarbij de bijbehorende site cross-site is met de site op het hoogste niveau die de navigatie uitvoert. Dit stemt Chrome af op vergelijkbaar gedrag in Safari en de relevante specificaties zijn bijgewerkt om deze wijzigingen te weerspiegelen.

Tracking bug #40057646 | ChromeStatus.com-item

Oproepstapels in crashrapporten van niet-reagerende webpagina's

Deze functie legt de JavaScript-aanroepstack vast wanneer een webpagina niet meer reageert door een oneindige lus of een andere zeer lange berekening van JavaScript-code. Dit helpt ontwikkelaars om de oorzaak van het niet reageren te identificeren en gemakkelijker te verhelpen. De JavaScript-aanroepstack is opgenomen in de crashrapportage-API wanneer de reden hiervoor is dat de pagina niet reageert.

Tracking bug #1445539 | ChromeStatus.com-item | Spec

Document-Isolation-Policy

Met Document-Isolation-Policy kan een document crossOriginIsolation voor zichzelf inschakelen, zonder COOP of COEP te hoeven implementeren en ongeacht de crossOriginIsolation -status van de pagina. Het beleid wordt ondersteund door procesisolatie. Bovendien worden de cross-origin subresources die geen CORS zijn, zonder referenties geladen of moeten ze een CORP-header hebben.

Tracking bug #333029146 | ChromeStatus.com-item | Spec

Ed25519 in webcryptografie

Deze functie voegt ondersteuning toe voor Curve25519 -algoritmen in de Web Cryptography API, namelijk het handtekeningalgoritme Ed25519

Tracking bug #1370697 | ChromeStatus.com-item | Spec

HSTS-trackingpreventie

Vermindert gebruikerstracking door derden via de HSTS-cache.

Deze functie staat alleen HSTS-upgrades toe voor navigatie op het hoogste niveau en blokkeert HSTS-upgrades voor verzoeken voor subbronnen. Hierdoor wordt het voor externe websites onmogelijk om de HSTS-cache te gebruiken om gebruikers op het web te volgen.

Tracking bug #40725781 | ChromeStatus.com-vermelding

WebAssembly

JavaScript Promise-integratie

JavaScript Promise Integration (JSPI) is een API waarmee WebAssembly-toepassingen kunnen worden geïntegreerd met JavaScript Promises.

Hiermee kan een WebAssembly-programma fungeren als generator van een Promise, en kan het WebAssembly-programma communiceren met API's die Promises bevatten.

Wanneer een toepassing JSPI gebruikt om een ​​Promise-dragende (JavaScript) API aan te roepen, wordt de WebAssembly-code in het bijzonder onderbroken. De oorspronkelijke aanroeper van het WebAssembly-programma krijgt dan een Promise die wordt vervuld wanneer het WebAssembly-programma uiteindelijk wordt voltooid.

ChromeStatus.com-vermelding | Spec

WebAssembly Branch Hints

Verbetert de prestaties van gecompileerde WebAssembly-code door de engine te informeren dat een bepaalde vertakkingsinstructie zeer waarschijnlijk een specifiek pad zal volgen.

Hierdoor kan de engine betere beslissingen nemen over de lay-out van de code (verbeterde cache-hits voor instructies) en de toewijzing van registers.

ChromeStatus.com-vermelding | Spec

WebGPU

GPUTextureView voor externalTexture binding

Het is nu toegestaan ​​om een GPUTextureView te gebruiken voor een externalTexture binding bij het maken van een GPUBindGroup .

Tracking bug #398752857 | ChromeStatus.com-item | Spec

copyBufferToBuffer -overbelasting

De GPUCommandEncoder copyBufferToBuffer() methode bevat nu een eenvoudigere manier om hele buffers te kopiëren met behulp van een nieuwe overload met optionele offsets en grootteparameters.

ChromeStatus.com-vermelding | Spec

Onderneming

IP-adresregistratie en rapportage

Chrome Enterprise verbetert de mogelijkheden voor beveiligingsmonitoring en incidentrespons door lokale en externe IP-adressen te verzamelen en te rapporteren en deze IP-adressen naar de Security Investigation Logs (SIT) te sturen. Daarnaast biedt Chrome Enterprise beheerders de mogelijkheid om de IP-adressen optioneel naar eigen en externe SIEM-providers te sturen via de Chrome Enterprise Reporting Connector.

Dit is beschikbaar voor Chrome Enterprise Core-klanten.

ChromeStatus.com-vermelding

Oorsprongsproeven

Blokkering van renderen met volledige framesnelheid

Voegt een nieuw renderblokkeringstoken ( full-frame-rate toe aan de blokkeringsattributen. Wanneer de renderer geblokkeerd is met het full-frame-rate -token, werkt de renderer met een lagere framesnelheid om meer bronnen te reserveren voor het laden.

Tracking bug #397832388 | ChromeStatus.com-item

Pauzeer het afspelen van media op niet-gerenderde iframes

Voegt een toestemmingsbeleid voor media-playback-while-not-rendered toe, zodat websites van embedders de mediaweergave van ingesloten iframes die niet worden weergegeven, kunnen pauzeren. Dit betekent dat hun display -eigenschap op none wordt ingesteld. Dit zou ontwikkelaars in staat moeten stellen om gebruiksvriendelijkere ervaringen te creëren en tevens de prestaties te verbeteren door de browser de weergave van content te laten afhandelen die niet zichtbaar is voor gebruikers.

Origin Trial | Tracking bug #351354996 | ChromeStatus.com-vermelding

Herschrijf-API

De Rewriter API transformeert en herformuleert invoertekst op de gewenste manier, ondersteund door een AI-taalmodel op het apparaat. Ontwikkelaars kunnen deze API gebruiken om redundanties in een tekst te verwijderen en zo binnen een woordlimiet te blijven, berichten te herformuleren voor de beoogde doelgroep of om constructiever te zijn als een bericht ongepaste taal bevat, een bericht of artikel te herformuleren met eenvoudigere woorden en concepten, en meer.

Origin Trial | Tracking bug #358214322 | ChromeStatus.com-item | Spec

Schrijver API

De Writer API kan worden gebruikt om nieuw materiaal te schrijven op basis van een schrijfopdracht, ondersteund door een AI-taalmodel op het apparaat. Ontwikkelaars kunnen deze API gebruiken om tekstuele uitleg van gestructureerde data te genereren, een bericht over een product te schrijven op basis van reviews of productbeschrijvingen, pro- en contra-lijsten uit te breiden tot volledige weergaven, en meer.

Origin Trial | Tracking bug #357967382 | ChromeStatus.com-item | Spec